Cover the smoked haddock with water, in a shallow pan, skin side down.
Bring to the boil and simmer for 4/5 minutes, turning once.
Take the haddock from the pan and remove the skin and bones.
Break up the fish into flakes and return to the stock
Add the chopped onion, bay leaf, salt and pepper.
Simmer for another 15 minutes.
Strain
Remove the bay leaf, but retain the stock and fish.
Add the milk to the fish stock and bring back to the boil.
Add enough mashed potato to create the consistency you prefer (don't be afraid to make it rich and thick!).
Reheat.
Check for seasoning.
Just before serving:
Add the butter in small pieces, so that it runs through the soup.